import { ECSEntity } from "./ECSEntity";

/** 基础生命周期接口 */
export interface IECSLife{
    onInit(...args: any[]): void;
    onEnable(): void;
    onDisable(): void;
    onUpdate(dt: number): void;
    onDestroy(): void;
}


/** 组件接口 */
export interface IComponent extends IECSLife {
    entity: ECSEntity;
}

/** 实体接口 */
export interface IEntity extends IECSLife {
    readonly id: number;

}

/** 系统接口 */
export interface ISystem extends IEntity {
    readonly priority: number;
}